<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    
  </style>
</head>
<body>
  
</body>
<script>

  const loginUrl = "http://10.11.55.249:3000/login";
  const getUserUrl = "http://10.11.55.249:3000/getUser";

  // 使用Promise的链式调用，获取异步数据
  // let token = ""
  // ajax(loginUrl, {
  //   username:"admin",
  //   password:123456
  // }).then(res=>{
  //   res = JSON.parse(res);
  //   token = res.data.token;
  //   return ajax(getUserUrl, {
  //     token
  //   })
  // }).then(res=>{
  //   res = JSON.parse(res);
  //   for(let i=0;i<res.data.length;i++){
  //     if(res.data[i].uName === "李俊杰"){
  //       return ajax(getUserUrl, {
  //         token,
  //         uId: res.data[i].uId
  //       })
  //     }
  //   }
  // }).then(res=>{
  //   console.log(res);
  // })
  
  // 使用async和await获取异步数据
  ;(async function(){
    // 登录请求，获取token
    let loginRes = await ajax(loginUrl, {
      username:"admin",
      password:123456
    });
    loginRes = JSON.parse(loginRes);
    // 获取所有用户信息
    let allUser = await ajax(getUserUrl, {
      token: loginRes.data.token
    })
    allUser = JSON.parse(allUser);
    // 解析所有用户信息，获取指定用户id
    let uId = "";
    for(let i=0;i<allUser.data.length;i++){
      if(allUser.data[i].uName === "李俊杰"){
        uId = allUser.data[i].uId;
        break;
      }
    }
    // 根据登录成功后的token和指定用户的uId，获取用户详细信息
    const oneUser = await ajax(getUserUrl,{
      token: loginRes.data.token,
      uId
    })
    console.log(oneUser);
  })();
  
  function ajax(url, data){
    let str = "";
    for(let i in data){
      str += `${i}=${data[i]}&`
    }
    url += "?" + str.slice(0, -1);
    const xhr = new XMLHttpRequest()
    xhr.open("get", url, true);
    xhr.send();
    return new Promise((resolve, reject)=>{
      xhr.onload = function(){
        if(xhr.status === 200){
          resolve( xhr.responseText );
        }else{
          reject( url  + " hahaha " +  xhr.status );
        }
      }
    })
  }
  
</script>
</html>